The Human Side of Fuzzing: Challenges Faced by Developers During Fuzzing Activities
نویسندگان
چکیده
Fuzz testing, also known as fuzzing, is a software testing technique aimed at identifying vulnerabilities. In recent decades, fuzzing has gained increasing popularity in the research community. However, existing studies led by experts mainly focus on improving coverage and performance of techniques. That is, there still gap empirical knowledge regarding especially about challenges developers face when they adopt fuzzing. Understanding these can provide valuable insights to both practitioners researchers how further improve processes We conducted study understand encountered during More specifically, we first manually analyzed 829 randomly sampled fuzzing-related GitHub issues constructed taxonomy consisting 39 types (22 related process itself, 17 using external providers). then surveyed 106 verify validity our collected feedback be improved. Our taxonomy, accompanied with representative examples highlighted implications, serve reference point better techniques for practitioners, indicates potential directions work toward approaches practices.
منابع مشابه
H-Fuzzing: A New Heuristic Method for Fuzzing Data Generation
How to efficiently reduce the fuzzing data scale while assuring high fuzzing veracity and vulnerability coverage is a pivotal issue in program fuzz test. This paper proposes a new heuristic method for fuzzing data generation named with H-Fuzzing. H-Fuzzing achieves a high program execution path coverage by retrieving the static information and dynamic property from the program. Our experiments ...
متن کاملDeep Reinforcement Fuzzing
Fuzzing is the process of finding security vulnerabilities in input-processing code by repeatedly testing the code with modified inputs. In this paper, we formalize fuzzing as a reinforcement learning problem using the concept of Markov decision processes. This in turn allows us to apply state-of-theart deep Q-learning algorithms that optimize rewards, which we define from runtime properties of...
متن کاملDirected Fuzzing Techniques
Beyond the more general fuzzing techniques that are, among others, used to generate tests with a certain amount of coverage, there exist techniques to direct fuzzers with the goal to execute specific program parts (recent changes, critical system calls, ...). A recent approach is described in [1]. The student is to examine the approach described in the given paper and compare it to similar exis...
متن کامل0-knowledge fuzzing
Nowadays fuzzing is a pretty common technique used both by attackers and software developers. Currently known techniques usually involve knowing the protocol/format that needs to be fuzzed and having a basic understanding of how the user input is processed inside the binary. In the past since fuzzing was little-used obtaining good results with a small amount of effort was possible. Today findin...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: ACM Transactions on Software Engineering and Methodology
سال: 2023
ISSN: ['1049-331X', '1557-7392']
DOI: https://doi.org/10.1145/3611668